#ifndef SCRIPTPLUGIN_H
#define SCRIPTPLUGIN_H

#include <defs/export.h>
#include <defs/global.h>
#include <extensions/plugin.h>

#include <QtCore>

namespace Optra {
    namespace Extensions{
        class Context;
    };
};

namespace Opl{
    namespace Scripting {
        namespace System {
            namespace IO {
                class File;
            };
        };
    };
};

O_PRIVATE_DECLARE(ScriptPlugin);
class ScriptPlugin : public Optra::Extensions::Plugin {
    Q_OBJECT
public:
	ScriptPlugin(Optra::Extensions::Plugin::Type type, Optra::Extensions::Context* ctx, const QFileInfo& info, Opl::Core::EntityObject *parent = 0);
	~ScriptPlugin();

protected:
    bool registerClass(Opl::Scripting::System::IO::File* file);
private:
    O_PRIVATE_DECLARE_MEMBER(ScriptPlugin);
};

#endif // SCRIPTPLUGIN_H

